package chapter8.section2;

//程序8-1a：一个利用List集合对Account对象进行封装的类
import java.util.ArrayList;
import java.util.List;

import chapter6.section4.Account;

public class AccountDataBase {
	private List<Account> accounts = new ArrayList<>();

	// 提供外部使用者一个向集合中追加Account实例的方法
	public void add(Account a) {
		this.accounts.add(a);
	}

	// 提供外部使用者从集合中按账号查询是否存在特定账户的方法
	public Account find(String id) {
		Account retuval = null;// 用于引用返回对象
		for (Account a : accounts) {
			if (a.getId().equals(id)) {// id相等表示查到
				retuval = a;
				break;
			}
		}
		return retuval;
	}

	public Account remove(String id) {
		Account retuval = null;// 用于引用返回对象
		for (Account a : accounts) {
			if (a.getId().equals(id)) {// id相等表示查到
				retuval = a;
				accounts.remove(a);
				break;
			}
		}
		return retuval;
	}

	// 输出当前所有的账户对象
	public void print() {
		for (Account a : accounts) {
			System.out.println(a);
		}
	}
}
